在国产基础技术安全可控的指引下,金融领域尤其是银行业率先提出主机下移、核心上云等战略,安全可控的国产分布式数据库成为主流。
国家相关部委和行业组织、协会等先后多次发文强调自主可控的重要性,明确提出国产化是国家战略发展的必然之路,并提出解决方案和技术体系的转型路径等。2018年,中国人民银行、科技部、工信部等六部委联合印发了《关于开展金融科技应用试点工作的通知》,其中要点强调“推动安全可靠金融级分布式数据库研发应用”。2019年8月,中国人民银行印发了《金融科技(FinTech)发展规划(2019-2021年)》,其中明确提出应“加强分布式数据库研发应用”。在这场趋势中,国内先进公司纷纷自研国产数据库,并与金融机构展开试点工作,取得不小的进展。本文以百度自研的数据库“盖亚”为例,详细阐述分布式数据库 GaiaDB-X 的技术架构及在金融行业的应用案例,希望能给金融机构国产化实践探索者一些有益的参考。作为拥有强大互联网基础的领先 AI 公司,百度拥有云计算、大数据、人工智能、自动驾驶、5G 等多方面的技术积累和实践。早在2010年,百度率先布局分布式数据库的技术研发,并应用在一些行业。2020年,百度将数据库品牌统一升级为“盖亚”(英文 GaiaDB),推出一系列技术先进的数据库产品,如分布式数据库 GaiaDB-X(原 DRDS)、云原生数据库 GaiaDB-S、图数据库 GaiaDB-G 等。
金融领域是数据库行业落地的重要方向,百度独有的金融级分布式数据库整体解决方案包括1个“分布式数据库”核心和4个“数据库管理服务”外设,致力于为金融领域打造最高效、最易用的数据库整体解决方案。
百度金融级分布式数据库整体解决方案的核心是自主研发的分布式关系型数据库 GaiaDB-X(原 DRDS)。其在架构上采用业界目前比较成熟稳定的计算存储分离的分布式架构,计算层采用完全自研的分布式中间件,存储节点采用基于开源 MySQL 深度定制的数据库引擎。GaiaDB-X 可以基于普通服务器以横向扩展的方式,构建支持海量数据存储和巨量并发访问的数据库系统,从而实现无限扩容和弹性扩展。
围绕核心的分布式数据库,百度还基于自身多年在众多庞大业务线上使用和运维数据库的经验积累,沉淀出数据库运维管控平台、数据传输服务、数据库审计和备份服务、数据库智能诊断等相关数据库管理工具,确保数据库的管理和运维更简单更易用。
百度分布式关系型数据库 GaiaDB-X(原 DRDS)具有以下特点:
>> 高可用:GaiaDB-X 的高可用架构设计可以实现服务可用性达99.99%,数据可靠性达99.9999%,全面支持分布式事务和数据的读写一致性,完全满足金融级业务系统的需要。
>> 可扩展:GaiaDB-X 的高扩展性设计,支持基于多种规则的水平拆分,实现计算节点和数据节点无限扩容,从而支持海量数据容量和并发服务容量。
>> 强兼容:GaiaDB-X 完全兼容业界广泛使用的 MySQL5.6和5.7版本的协议和95%以上开发常用的 SQL 语法。
>> 易运维:GaiaDB-X 提供集中式、图形化的运维管理控制台,提供实时监控、故障报警、账户管理、权限管理、备份管理、实例节点管理等功能。
中原地区某城商行,其面向未来五到十年业务发展需要,业务系统面临进一步升级迭代,其依赖的底层分布式数据库系统面临多方面挑战。同时,该城商行的金融风险管理、供应链金融、营销管理平台等系统完全基于开源 MySql 开发。在项目论证阶段,行里 IT 人员与百度数据库团队进行了深入细致的沟通,从互联网业务与银行业务差异化,金融系统业务特点、数据可靠性保障、系统可维护性等多方面进行了全方位论证,确保方案有效可行。该城商行与百度携手,在包括金融风险管理系统、供应链金融系统、营销管理平台系统等多个关键业务应用中采用百度分布式数据库作为其底层交易数据库(OLTP)。百度基于分布式数据库 GaiaDB-X 为该城商行金融风险管理等系统设计的分布式数据库方案如下图,包含了负责 SQL 解析路由的计算节点、由主从备实例构成的存储节点、对机器资源和节点资源监控管理的管控节点等。
GaiaDB-X 在该城商行的实践应用中,实现了金融级高可靠、高可用、高扩展、高安全、易运维等良好效果,为业务系统的平稳运行提供了坚强保障。高可靠性,包括主从强同步、灵活的数据备份、快速数据恢复能力;
高可用性,包括双机热备架构或机房级、地域级容灾架构,实现故障切换对业务完全透明,快速无损业务恢复。
可扩展性,包括对表按照枚举、范围、哈希等多种方式来进行水平拆分,并通过百度自研的数据库中间件保证查询的拆分、路由执行、结果集合并等,从而提升了业务数据的读写能力及容量的扩展。
高安全性,包括访问控制防护、系统安全防护等确保用户数据安全和系统安全。
易用性,包括运维管控平台操作简便、数据库实例即开即用、数据库管理权限分离、数据库管理智能高效。
百信银行为中国首家采用独立法人运作模式的互联网直销银行,由中信银行与百度公司强强联手,通过互联网渠道跨越时间、地域的局限性,为广大个人及企业客户提供金融产品和银行服务,开启“金融+互联网”的新金融发展模式。
2017年百信银行作为首家采用 X86+国产数据库+Core Banking 架构的银行顺利通过银保监、人行双方审查正式开业。百度分布式数据库 GaiaDB-X 开始全面支持银行核心系统和外围系统的正常运行,包括存款核心、消费信贷、理财系统、账管中心、统一支付等40多个业务系统,整体部署集群超过450节点以上,至今已平稳运行超3年以上。对百信银行来说,支持互联网特色的业务,需要高性能系统的保障,百度分布式数据库有力地支撑了百信银行核心系统的高并发业务场景。同时,有力地支撑了“降成本、拼运营”的战略,帮助银行以低成本、高效率的方式构建可弹性扩展、敏捷交付的业务操作系统。银联商务股份有限公司是中国银联控股的从事银行卡收单专业化服务的全国性公司,百度2018年全面助力银联商务的技术架构云化升级,从提供数据库 PaaS 组件到支撑业务上云的工具,到陪护业务上云的整体方案支撑。
百度提供了包括分布式数据库在内的专有云 PaaS 解决方案,在银联商务的会员卡业务和交易核心等业务上成功替换国外商业数据库 Oracle,有力保障了亿级用户的核心业务平稳运行,保证了数据的一致性和安全可靠性。百度数据库同时也输出最佳运维实践和工具,在数据库审计、数据库备份、数据库智能诊断、数据库运维管控等方面提供有力支撑,让数据库不仅运行得高效,还能管理得简便。此外,百度分布式数据库提供数据迁移工具,可完成 Oracle 到百度 GaiaDB-X 的结构迁移、全量数据迁移和增量数据同步,并支持异常情况下数据回滚回流的方案。为银商早期迁移过程中 Oracle 和百度 GaiaDB-X 的并行验证、以及最终正式迁移切换提供全面技术支撑。
在本案例中,百度数据库实现了银联商务核心系统从 Oracle 到国产分布式数据库的平稳迁移,支撑了核心系统全面上云。从早期的迁移规划、数据库结构迁移、存量数据迁移,到运行中增量数据迁移同步,以及后期系统运行中 Oracle 和 GaiaDB-X 并行验证到最终的数据库系统切换,有力证明了百度国产分布式数据库在重要金融系统上替换 Oracle 数据库从理论到工程实践的可行性。
作为国家战略之一,国产数据库成为金融行业的核心系统之一是必然趋势。云计算和大数据的兴起,以及 AI 的深度应用,将大大加速这一过程。再加上金融行业特有的应用场景和真实的应用需求,同样会加速国产分布式关系型数据库解决方案的落地,降低应用门槛。在这过程中,希望越来越多的厂商加入到这一行业中,共同研发、推广和实践国产数据库。百度作为国产数据库中的佼佼者,也愿意携手行业,共建生态圈,从技术和需求出发,放眼未来,共同推进国产分布式关系型数据库在金融领域遍地开花。